package com.cy.dao;

import com.cy.dao.pojo.SysNotice;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 创建公告模块数据持久层对象，借助此类型的对象基于MyBatis技术实现与数据库的交互，
 * 通过这些交互来访问或操作公告模块的数据
 * 在springboot工程中基于mybatis实现与数据库交互时，一般首先要定义一个数据层接口，并通过
 *
 * @Mapper 注解对接口进行描述，系统启动时，会对启动类所在包以及子包中的类进行扫描，假如发现接口上
 * 有@Mapper 注解，系统底层会基于接口创建其实现类（借助反射包proxy类进行操作）
 * 实现类内部，底层会基于sqlsession对象实现数据库访问和操作
 */

@Mapper
public interface SysNoticeDao {
    List<SysNotice> selectNotice(SysNotice sysNotice) ;

    int deleteById(Long... id);

    @Select("select * from sys_notices where id = #{id}")
    SysNotice selectById(Long id);

    int insertNotice(SysNotice sysNotice);

    int updateNotice(SysNotice sysNotice);

}
